package com.maijinjie.admin.content.service;

import java.util.List;
import java.util.Map;

import com.maijinjie.common.bean.Pagination;
import com.maijinjie.common.bean.StatusBean;
import com.maijinjie.admin.content.bean.TableDownloadInfoBean;

/**
 * TableDownloadInfoService
 * @author 罗正杰
**/
public interface TableDownloadInfoService {
	/**
	 * 根据ID获取类别信息
	 * @param id 数据ID
	 * @return TableDownloadInfoBean 数据bean对象
	 * @throws Exception
	 **/
	public TableDownloadInfoBean getBeanById(Integer id) throws Exception;
	/**
	 * 查询记录总数
	 * @param params 查询条件
	 * @return int 查询的记录总数
	 * @throws Exception
	 **/
	public int count(Map<String, Object> params) throws Exception;
	/**
	 * 查询所有数据
	 * @param params 查询条件
	 * @return List<TableDownloadInfoBean> 查询后返回的结果集
	 * @throws Exception
	 **/
	public List<TableDownloadInfoBean> list(Map<String, Object> params) throws Exception;
	/**
	 * 保存
	 * @param bean 需要保存的bean对象
	 * @param createBy 当前操作人用户名
	 * @param createUserId 当前操作人ID
	 * @return StatusBean 操作状态
	 * @throws Exception
	 **/
	public StatusBean save(TableDownloadInfoBean bean, String createBy, Integer createUserId) throws Exception;
	/**
	 * 更新
	 * @param bean 需要更新的bean对象
	 * @param createBy 当前操作人用户名
	 * @param createUserId 当前操作人ID
	 * @return boolean 返回true表示更新成功；返回false表示更新失败； 
	 * @throws Exception
	 **/
	public StatusBean update(TableDownloadInfoBean bean, String createBy, Integer createUserId) throws Exception;
	/**
	 * 删除
	 * @param id 待删除的数据ID
	 * @return boolean 返回true表示删除成功；返回false表示删除失败；
	 * @throws Exception
	 **/
	public StatusBean deleteById(Integer id)  throws Exception;
	/**
	 * 批量删除
	 * @param ids 待删除的数据ID数组
	 * @return boolean 返回true表示删除成功；返回false表示删除失败；
	 * @throws Exception
	 **/
	public StatusBean batchDelete(String ids) throws Exception;
	/**
	 * 分页查询
	 * @param pagination 分页对象
	 * @return Pagination 分页对象
	 * @throws Exception
	 */
	public Pagination<TableDownloadInfoBean> list(Pagination<TableDownloadInfoBean> pagination) throws Exception;
	/**
	 * 查询所有数据
	 * @return List<SysMenuExtendBean>
	 * @throws Exception
	 */
	public List<TableDownloadInfoBean> listAll() throws Exception;
	
	public Map<String,List> listFileByCategory(Map<String, Object> params) throws Exception;
}
